#include"processBar.h"

const char *lable = "|/-\\";
char bar[NUM];  //创建数组

#define LIGHT_GREEN  "\033[1;32m"
#define LIGHT_PURPLE "\033[1;35m"

#define END "\033[m"

//v2 是如何被调用的
//rate百分比:0-100
void processbar(int rate)
{
    if(rate < 0 || rate > 100) return;

    int len = strlen(lable);
    printf(LIGHT_PURPLE"[%-100s]" END LIGHT_GREEN "[%d%%][%c]\r" END ,bar,rate,lable[rate%len]); //%s输出字符串
    fflush(stdout);
    bar[rate++] = BODY; //每次循环都修改bar[cnt]为指定风格-,然后cnt+1
    if(rate < TOP) bar[rate] = RIGHT;
       
}

void initbar()
{
    memset(bar, '\0', sizeof(bar));
}













//v1
//void processbar(int speed)
//{
//    char bar[NUM];  //创建数组
//    memset(bar,'\0',sizeof(bar)); //初始化数组
//    int len = strlen(lable);
//    int cnt = 0; //cut用来计数，也可作为下标
//    while(cnt <= TOP)
//    {
//        printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]); //%s输出字符串
//        fflush(stdout);
//        bar[cnt++] = BODY; //每次循环都修改bar[cnt]为指定风格-,然后cnt+1
//        if(cnt < TOP) bar[cnt] = RIGHT;
//       // sleep(1);//单位为秒
//       usleep(speed);//单位为微秒
//    }
//    printf("\n");//防止命令提示行对最终结果的覆盖
//
//}
